A web serving system or web server is a computer system that runs web server software and connects to a communications network, such as the Internet. A publisher may use the web serving system to offer various data files for public access, including text, graphics, audio, video, and other types of data files. Thus, anyone having a computer that is connected to the same network may retrieve these data files offered by the publisher through the use of a standardized communications protocol. One protocol, namely the Hyper Text Transfer Protocol (“HTTP”), is commonly used on TCP/IP-capable networks to transfer data files of the World Wide Web.
Data files of the World Wide Web are transferred from a web server to a web browser computer via a TCP/IP-capable network. The web browser computer typically consists of a computer, web browser software running on the computer, and communications hardware to connect the computer to the network through a communications link. Likewise, the web server typically consists of a computer, web server software running on the computer, storage hardware for storing the web pages, and communications hardware to connect the computer to the network through a communications link. A wide variety of communications links are available for connecting a computer to a TCP/IP-capable network, including an analog telephone connection, 56K line connection, ISDN connection, fractional T1 connection, Full T1 connection, cable-modem connection and satellite connection.
The user may view the contents of a specific data file of a particular web server by operating the web browser software. In particular, when a user wishes to receive the data file, the user operates the web browser computer so that it indicates the network address of the appropriate web server and the name of the data file on the server. The web browser computer then establishes a clear communications channel between the web server and itself, and requests the target data file. Next, the web server retrieves the specified data file from the web server's storage hardware and transmits the contents of the data file through the communications network to the web browser computer. The web browser computer then creates an audio/visual presentation of the data file for the user by activating the various hardware subsystems, such as one or more video monitors and/or audio speakers.
Web browser software has been enhanced to intermingle several pieces of text, graphics, video, audio, and animation together so that browsing or surfing the World Wide Web is an interactive and engaging process. In particular, standardized tags or sequences of text characters are included in the data files to control the placement of intermingled data files on the pages of the World Wide Web. A data file has text data and non-text data in which the standardized tags are included with the text data. The static data includes image data, animation data, video data, computer programs, and other types of non-text data. A data file containing a mixture of text and standardized tags is referred to as web page.
The standardized tags can include additional information, such as the web addresses, data file names of other web servers, and data files of graphic images, video clips, and audio recordings. Thus, most web browser software automatically presents an integrated display of dynamic data and embedded static data when displaying a webpage to the user. Accordingly, two distinct data files are retrieved to create a particular display: the first data file includes the text and tags, and the second data file includes the non-text data.
There are typically over a thousand web browsing users for every web server in operation and, thus, web servers are subjected to numerous requests for data files. Most contemporary web servers are capable of processing this volume of requests, but the web server's communications link quickly becomes saturated. In particular, any given communications link can only transmit a finite number of bits per second, and when a web server using all of the available bandwidth on its communications link to transmit data files, no more data files may be transmitted through that communications link until the transfers in progress are finished. Most communications links cannot sustain more than a dozen concurrent data file transfers, and each transfer can take several seconds.
Because of the high ratio of web browsers to web servers, it is extremely desirable to have a web server that is capable of handling at least ten concurrent data file transfers. Data communications technology, unfortunately, has not evolved as fast as other computer technologies. The least expensive type of communications link is the analog telephone line. However, the extremely constrained capacity of the analog telephone line makes it unacceptable for most web servers. The cost of other higher-speed communications links such as T1 lines increases along with their capacity, and they are far more expensive to setup and maintain than an analog or even ISDN telephone line.
On the other hand, because Full T1 lines are fairly cost effective, Internet Service Providers (“ISPs”) have created profitable businesses by purchasing a Full T1 line, operating a web server, and renting out storage space to clients on their web server's storage hardware. These ISPs charge a low monthly rate for renting storage space on their web servers. Any data file that a client places in the rented storage space can be retrieved by web browsers that request them and, thus, clients make their pages and images accessible to a larger number of concurrent browsers without having to pay for the full cost of the full T1 themselves.
However, in order to maintain control and security of their web servers, the ISPs usually limit their clients to publishing static pages. Static pages are only stored and retrieved and, thus, dynamic and interactive pages are not permitted. Dynamic and interactive pages are essentially separate software programs that produce pages as their output. Since the software program is executed each time a web browser computer requests the page, the program may produce a different page each time, specifically for the web browser that made the request. This facility is becoming increasingly popular since it enables the interconnection of web server software and other software programs, such as databases, electronic commerce systems, e-mail systems, stock quote services, etc. Therefore, in order to have dynamic and interactive pages, a publisher cannot rent space from an ISP but must setup and maintain his or her own custom web server which is often prohibitively expensive.
Accordingly, the web serving system of the present invention has the capability of delivering text, graphics, video, audio and interactive multimedia over the Internet's World Wide Web at extremely high speeds, using only inexpensive, readily available hardware, software and services. The system requires no more effort than alternative systems, yet produces the highest performance-to-price ratio of any comparable World Wide Web publishing system.